import { createApp } from 'vue'
import App from './App.vue'
// import demo from "./components/demo.vue"
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
// 动画库
import 'animate.css';
// element
import 'element-plus/dist/index.css'
import ElementPlus from 'element-plus'

// 引入路由
import router from './route/index'
import $ from "jquery";
// 电子表格
// handsontable所需css
import 'handsontable/dist/handsontable.full.min.css';
// AG-grid
import 'ag-grid-community/styles/ag-grid.css';
import 'ag-grid-community/styles/ag-theme-alpine.css'; // 你可以选择不同的主题
// vue-easy-table
import Vue3EasyDataTable from 'vue3-easy-data-table';
import 'vue3-easy-data-table/dist/style.css';
// Univer
// import 'luckysheet/dist/luckysheet.css'; // 引入 LuckySheet CSS
// import LuckySheet from 'luckysheet'; // 引入 LuckySheet JavaScript


// Echarts按需引入
// 引入 echarts 核心模块，核心模块提供了 echarts 使用必须要的接口。
import * as echarts from 'echarts/core';
// 引入柱状图图表，图表后缀都为 Chart
import { BarChart,LineChart, PieChart } from 'echarts/charts';
// 引入标题，提示框，直角坐标系，数据集，内置数据转换器组件，组件后缀都为 Component
import {
  TitleComponent,
  TooltipComponent,
  ToolboxComponent,
  GridComponent,
  DatasetComponent,
  TransformComponent,
  LegendComponent
} from 'echarts/components';
// 标签自动布局、全局过渡动画等特性
import { LabelLayout, UniversalTransition } from 'echarts/features';
// 引入 Canvas 渲染器，注意引入 CanvasRenderer 或者 SVGRenderer 是必须的一步
import { CanvasRenderer } from 'echarts/renderers';
// 注册必须的组件
echarts.use([
  TitleComponent,
  TooltipComponent,
  ToolboxComponent,
  GridComponent,
  DatasetComponent,
  LegendComponent,
  TransformComponent,
  BarChart,
  LineChart,
  PieChart,
  LabelLayout,
  UniversalTransition,
  CanvasRenderer
]);

// 引入HighChart
import HighchartsVue from 'highcharts-vue'

// 创建Vue实例
const app = createApp(App)


// 向app实例注入echarts
app.config.globalProperties.$echarts = echarts;


for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
  app.component(key, component)
}
// 全局组件
app.component('EasyDataTable', Vue3EasyDataTable);

// 插件
app.use(ElementPlus)
  .use(router)
  // .use(HighchartsVue)
  // .use(univerApp);



app.mount('#app')

